package com.mall.b2c.plugin.payment;

import java.util.Map;

import com.mall.b2c.domain.order.OrderDomain;
import com.mall.common.domain.component.ComponentDomain;


/**
 * PC端在线支付事件
 *
 */
public interface IPaymentEvent {

	/**
	 * 生成跳转至第三方支付平台支付的html和脚本
	 * @param component 组件
	 * @param order 订单
	 * @param bankInfo 银行信息
	 * @param pickupUrl 同步通知地址
	 * @param receiveUrl 异步通知地址
	 * @return 跳转到第三方支付平台支付的html和脚本
	 * @exception
	 */
	public String onPay(ComponentDomain component, OrderDomain order, String bankInfo, String pickupUrl, String receiveUrl) throws Exception;
	
	/**
	 * 支付成功后返回本站后激发此事件 
	 * @param memberId 会员id
	 * @param params 付款参数
	 * @return  处理结果
	 * @exception
	 */
	public String onReturn(Long memberId, Map<String, String> params) throws Exception;

	/**
	 * 获取交易编号
	 * @return
	 */
	public String getTradeNo(Map<String, String> params) throws Exception; 
	
}	
